package com.example.equipment.mapper;

import com.example.equipment.bean.ProductMac;
import com.example.equipment.bean.ProductMacExample;

import java.util.List;

import com.example.equipment.bean.vo.ProductMacExt;
import org.apache.ibatis.annotations.Param;

public interface ProductMacMapper {
    int countByExample(ProductMacExample example);

    int deleteByExample(ProductMacExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(ProductMac record);

    int insertSelective(ProductMac record);

    List<ProductMac> selectByExample(ProductMacExample example);

    ProductMac selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") ProductMac record, @Param("example") ProductMacExample example);

    int updateByExample(@Param("record") ProductMac record, @Param("example") ProductMacExample example);

    int updateByPrimaryKeySelective(ProductMac record);

    int updateByPrimaryKey(ProductMac record);

    ProductMac selectByProductNoAndSn(@Param("productNo") String productNo, @Param("serialNo") String serialNo);

    ProductMac selectByProductNoAndSnAndMac(@Param("productNo") String productNo, @Param("serialNo") String serialNo, @Param("macAddress") String macAddress);

    List<ProductMacExt> getListByProductNoAndName(@Param("productNo") String productNo, @Param("productName") String productName, @Param("serialNo") String serialNo);

    void deleteByProductId(@Param("productId") Integer productId);

    void updateProductNoByProductId(@Param("productId") Integer productId, @Param("productNo") String productNo);
}